using System;
using System.Collections.Generic;
namespace PS.WebParts.Rollup.Query
{
    public class QueryParams
    {
        private static QueryParams instance = new QueryParams();

        // Explicit static constructor to tell C# compiler
        // not to mark type as beforefieldinit
        static QueryParams()
        {}

        private QueryParams()
        {}

        public static QueryParams Instance
        {
            get
            {
                return instance;
            }
        }
        
        private int userId;
        private string userName;

        public int UserId
        {
            get { return userId; }
            set { userId = value; }
        }

        public string UserName
        {
            get { return userName; }
            set { userName = value; }
        }

        public Dictionary<string, string> UserFields { get; set; }

        //public Dictionary<string, UserField> UserMultiFields { get; set; }
        private Dictionary<Guid, List<Guid>> listUserInfos = new Dictionary<Guid, List<Guid>>();
        public Dictionary<Guid, List<Guid>> ListUserInfos
        {
            get { return listUserInfos; }
            set { listUserInfos = value; }
        }

        public void Reset()
        {
            instance = new QueryParams();
        }

        public const string UserMultiSourceListIdStub = "UserMultiList";
        public const string UserMultiUserColumnName = "Name";
        public const string DbUserColumnName = "nvarchar3";
    }
}
